算法設計與分析02-走臺階問題

走臺階問題,一次可以走1,2,3級,都 N級臺階的方法數 。
初始:f(0) = 0; f(1) =1; f(2) = 1 + 1 = 2;
遞推公式:f(n) = f(n - 1) + f(n-2) + f(n - 3)

解題思路:

因爲一次可以走1,2,3級,所以在第n級臺階時,能走到第n級臺階的方法爲:1,從第n-1級臺階走一級到底n級臺階。2.從第n-2級臺階走2級到第n級。3.從第n-3級臺階到第n級臺階,所以:f(n) = f(n - 1) + f(n-2) + f(n - 3)

代碼如下(java):

public class JumpFloor {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println(getSum(sc.nextInt()));
    }
 
    private static int getSum(int n) {
        if (n == 0) {
            return 0;
        }
        if (n == 1) {
            return 1;
        }
        if (n == 2) {
            return 2;
        }
        return getSum(n - 1) + getSum(n - 2) + getSum(n - 3);
    }
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章